<!-- 
    1)promise是一门新的技术
    2)promise是js中进行异步编程的新解决方案(解决回调地狱)
    备注：就方案单纯使用的是用回调函数

    语法角度
    promise 是一个构造函数
    promise对象用来封装一个异步操作并可以获取成功或失败的结果 

 -->
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        var promise1 = new Promise(function (resolve, reject) {//这是执行的回调(excutor)它是同步的回调
            //当我们new了一个promise实例后，实例自身的状态是初始化状态(pending)
            //执行器函数，写异步代码
            setTimeout(function () {
                // resolve('foo');
                //调用resolve,可以将promise实例对象由初始化状态pending变为(成功状态)resolved，同时
                //指定成功的value

                reject('失败了')
                //调用reject,可以将promise实例对象由初始化状态pending变为(失败状态)resolved，同时
                //指定成功的reason
            }, 1000);
        })

        promise1.then(
            // function (value) {//promise实例对象成功时状所对应的回调函数，它是异步的回调
            //     console.log(value);
            // },
            // function (reason) {//promise实例对象成功时状所对应的回调函数，它是异步的回调
            //     console.log(reason);
            // },

            //下面用箭头函数写
            value => console.log(value),
            reason => console.log(reason),





        )
    </script>
</body>

</html>